#!/bin/bash # # Copyright © 2011–2015, Better Linux, Inc. # Authors: Jerry James # Sean Jenkins # # Un-installation script for Better Linux. ( main() { #since we make best effort to be backwards compatible, and later scripts #should be at least as good, or better than the currently running one # This is somewhat brittle. /bin/rpm -q betterlinux-cpanel >/dev/null 2>&1 if [ $? -eq 0 ]; then printline echo "You must first run the BetterLinux cPanel package uninstaller before removing BetterLinux." exit 1 fi if [ -e /proc/cgroup_io_throttle -o -e /proc/betterlinux/versions ]; then printline echo "You must reboot into a non-BetterLinux kernel before uninstalling." printline exit 1 fi wd=`pwd` if [[ "$wd" =~ .*\/etc\/betterlinux.* ]]; then printline echo "Your current working directory is $wd. Please cd out of betterlinux" echo "and run this by full path: /etc/betterlinux/bin/bl-uninstall" fi if [ -f /etc/abrt/gpg_keys ] ; then if [ `grep -i betterlinux /etc/abrt/gpg_keys` ] ; then printline echo "Removing Signing key from abrt configs." sed -i -e "/betterlinux/d" /etc/abrt/gpg_keys fi fi # the new way with consistent names - isnt' life nice echo "Removing BetterLinux rpms." for i in `rpm -q -a | grep -i betterlinux`; do rpm -e --nodeps $i > /dev/null 2>&1 done #belt and suspenders - make sure some important things were removed rm -rf /usr/lib64/cpud /usr/lib64/iothrottled if [ -e /usr/local/cpanel/bin/manage_hooks ]; then /usr/local/cpanel/bin/manage_hooks del script /etc/betterlinux/cpanel/bl-cphooks >/dev/null 2&>1 fi ######################################################## #this block for uninstalling legacy beta code echo "Removing any Legacy BetterLinux rpms." rpm -e --nodeps bl-libcgroup >/dev/null 2>&1 rpm -e --nodeps betterlinux-libcgroup >/dev/null 2>&1 rpm -e --nodeps bl-iproute >/dev/null 2>&1 rpm -e --nodeps betterlinux-iproute >/dev/null 2>&1 rpm -e --nodeps betterlinux-core >/dev/null 2>&1 rpm -e --nodeps betterlinux >/dev/null 2>&1 rpm -e --nodeps blstat >/dev/null 2>&1 rpm -e --nodeps betterlinux-blstat >/dev/null 2>&1 rpm -e --nodeps betterlinux-myusertop >/dev/null 2>&1 rpm -e --nodeps bl-myusertop >/dev/null 2>&1 rpm -e --nodeps betterlinux >/dev/null 2>&1 rpm -e --nodeps betterlinux-cpanel >/dev/null 2>&1 #again, but with noscripts rpm -e --nodeps --noscripts bl-libcgroup >/dev/null 2>&1 rpm -e --nodeps --noscripts betterlinux-libcgroup >/dev/null 2>&1 rpm -e --nodeps --noscripts bl-iproute >/dev/null 2>&1 rpm -e --nodeps --noscripts betterlinux-iproute >/dev/null 2>&1 rpm -e --nodeps --noscripts betterlinux-core >/dev/null 2>&1 rpm -e --nodeps --noscripts betterlinux >/dev/null 2>&1 rpm -e --nodeps --noscripts blstat >/dev/null 2>&1 rpm -e --nodeps --noscripts betterlinux-blstat >/dev/null 2>&1 rpm -e --nodeps --noscripts betterlinux-myusertop >/dev/null 2>&1 rpm -e --nodeps --noscripts bl-myusertop >/dev/null 2>&1 rpm -e --nodeps --noscripts betterlinux >/dev/null 2>&1 rpm -e --nodeps --noscripts betterlinux-cpanel >/dev/null 2>&1 #ancient kernel-devel for i in `rpm -q kernel-devel | grep -i bl0`; do rpm -e --nodeps $i > /dev/null 2>&1 done #ancient kernels - heavy weight, but safer than rpm -e based on name-guessing yum -d1 -y remove kernel-betterlinux > /dev/null 2>&1 printline ######################################################## #since we nuke the repos, make yum forget any cached data about them yum -d1 clean expire-cache echo 'Removing Betterlinux repos.' rm -rf /opt/betterlinux rm -f /etc/yum.repos.d/betterlinux* printline echo "Installing/restoring default iproute and libcgroup." yum -d1 -y install iproute libcgroup printline echo 'Done.' echo "Installing/restoring default kernel-tools*, kernel-firmware, and kernel-headers." yum -d1 -y --disableexcludes=all install kernel-tools kernel-tools-libs kernel-tools-libs-devel kernel-firmware yum -d1 -y --disableexcludes=all downgrade kernel-headers printline echo 'Done.' exit } printline() { echo "--------------------------------------------------------------------------------" } main "$@" ) 2>&1 | tee bl-uninstall.log